Calcular índices de concavidad y perfiles longitudinales de cursos fluviales
Imprimir lista de mapas ráster y vectoriales dentro en la región/localización activa
execGRASS(
'g.list',
flags = 't',
parameters = list(
type = c('raster', 'vector')
)
)
## raster/LfpNetwork-flds-Oz
## raster/LfpNetwork-outlet-Oz
## raster/MASK
## raster/accum-de-rwshed
## raster/aspect
## raster/basins
## raster/dem
## raster/drainage-dir-de-rstr
## raster/drainage-dir-de-rwshed
## raster/half-basins
## raster/order-hack-gravelius
## raster/order-horton
## raster/order-shreve
## raster/order-strahler
## raster/order-topology
## raster/ozama-basin
## raster/ozama-stream-de-rstr
## raster/pcurv
## raster/r-stream-basins-1
## raster/r-stream-basins-2
## raster/r-stream-basins-3
## raster/r-stream-basins-4
## raster/r-stream-basins-5
## raster/r-stream-basins-6
## raster/r-stream-basins-7
## raster/slope
## raster/stream-de-rwshed
## raster/tcurv
## vector/LfpNetwork_lfp_all_final_ozm
## vector/LfpNetwork_lfp_all_final_ozm1
## vector/LfpNetwork_lfp_all_final_ozm3
## vector/LfpNetwork_lfp_all_final_ozm5
## vector/LfpNetwork_lfp_ozm
## vector/LfpNetwork_lfp_ozm1
## vector/LfpNetwork_lfp_ozm3
## vector/LfpNetwork_lfp_ozm5
## vector/LfpNetwork_outlet_Oz
## vector/LfpNetwork_tributaries_ozm
## vector/LfpNetwork_tributaries_ozm1
## vector/LfpNetwork_tributaries_ozm3
## vector/LfpNetwork_tributaries_ozm5
## vector/LfpNetwork_tributaries_preconf_ozm
## vector/LfpNetwork_tributaries_preconf_ozm1
## vector/LfpNetwork_tributaries_preconf_ozm3
## vector/LfpNetwork_tributaries_preconf_ozm5
## vector/c_ozama
## vector/dem_extent
## vector/order_all
## vector/ozama_basin
## vector/ozama_stream_de_rstr
## vector/r_stream_basins_1
## vector/r_stream_basins_2
## vector/r_stream_basins_3
## vector/r_stream_basins_4
## vector/r_stream_basins_5
## vector/r_stream_basins_6
## vector/r_stream_basins_7
Obtener coordenada
mapview(order, col.regions = 'blue', legend = FALSE)
Obtener cursos más largos (cargar función propia)
devtools::source_url('https://raw.githubusercontent.com/geofis/rgrass/master/lfp_network.R') #Cargada como función "LfpNetwork"
LfpNetwork(
xycoords = my_trans(c(-69.88117, 18.47503)),
suffix = 'ozm',
stream_vect = 'order_all',
direction = 'drainage-dir-de-rstr'
)
Imprimir lista de mapas ráster y vectoriales
execGRASS(
'g.list',
flags = 't',
parameters = list(
type = c('raster', 'vector')
)
)
## raster/LfpNetwork-flds-Oz
## raster/LfpNetwork-outlet-Oz
## raster/MASK
## raster/accum-de-rwshed
## raster/aspect
## raster/basins
## raster/dem
## raster/drainage-dir-de-rstr
## raster/drainage-dir-de-rwshed
## raster/half-basins
## raster/order-hack-gravelius
## raster/order-horton
## raster/order-shreve
## raster/order-strahler
## raster/order-topology
## raster/ozama-basin
## raster/ozama-stream-de-rstr
## raster/pcurv
## raster/r-stream-basins-1
## raster/r-stream-basins-2
## raster/r-stream-basins-3
## raster/r-stream-basins-4
## raster/r-stream-basins-5
## raster/r-stream-basins-6
## raster/r-stream-basins-7
## raster/slope
## raster/stream-de-rwshed
## raster/tcurv
## vector/LfpNetwork_lfp_all_final_ozm
## vector/LfpNetwork_lfp_all_final_ozm1
## vector/LfpNetwork_lfp_all_final_ozm3
## vector/LfpNetwork_lfp_all_final_ozm5
## vector/LfpNetwork_lfp_ozm
## vector/LfpNetwork_lfp_ozm1
## vector/LfpNetwork_lfp_ozm3
## vector/LfpNetwork_lfp_ozm5
## vector/LfpNetwork_outlet_Oz
## vector/LfpNetwork_tributaries_ozm
## vector/LfpNetwork_tributaries_ozm1
## vector/LfpNetwork_tributaries_ozm3
## vector/LfpNetwork_tributaries_ozm5
## vector/LfpNetwork_tributaries_preconf_ozm
## vector/LfpNetwork_tributaries_preconf_ozm1
## vector/LfpNetwork_tributaries_preconf_ozm3
## vector/LfpNetwork_tributaries_preconf_ozm5
## vector/c_ozama
## vector/dem_extent
## vector/order_all
## vector/ozama_basin
## vector/ozama_stream_de_rstr
## vector/r_stream_basins_1
## vector/r_stream_basins_2
## vector/r_stream_basins_3
## vector/r_stream_basins_4
## vector/r_stream_basins_5
## vector/r_stream_basins_6
## vector/r_stream_basins_7
Representar con leaflet
lfp <- readVECT('LfpNetwork_lfp_all_final_ozm')
lfp4326 <- spTransform(lfp, CRSobj = CRS("+init=epsg:4326"))
lfp_con_id <- leaflet() %>%
addProviderTiles(providers$Stamen.Terrain, group = 'terrain') %>%
addPolylines(
data = lfp4326, weight = 3, opacity = 0.7, group = 'order',
label = ~as.character(cat),
highlightOptions = highlightOptions(color = "white",
weight = 5, bringToFront = F, opacity = 1),
labelOptions = labelOptions(noHide = T,
style = list(
"font-size" = "8px",
"background" = "rgba(255, 255, 255, 0.5)",
"background-clip" = "padding-box",
"padding" = "1px"))) %>%
leafem::addHomeButton(extent(lfp4326), 'Ver todo') %>%
leafem::addMouseCoordinates() ## Esto es para agregar coordenadas
lfp_con_id
lfp_con_id %>% mapview::mapshot(file = 'lfp_con_id_salida.png')
Exportar a KML
execGRASS(
'v.out.ogr',
flags = c('overwrite','quiet'),
parameters = list(
input = 'LfpNetwork_lfp_all_final_ozm',
output = 'lfp_ozm_kml.kml',
format = 'KML',
dsco = 'NameField=cat'
)
)
Obtención de perfiles longitudinales e índices de concavidad
source('lfp_profiles_concavity.R') #Cargado como función "LfpProfilesConcavity"
ozama_conv_prof <- LfpProfilesConcavity(
xycoords = my_trans(c(-69.88117, 18.47503)),
network = 'LfpNetwork_lfp_all_final_ozm',
prefix = 'Oz',
dem = 'dem',
direction = 'drainage-dir-de-rstr',
crs = '+init=epsg:32619',
smns = 0.5,
nrow = 5)
Mostrar resultados
ozama_conv_prof$profiles

ozama_conv_prof$concavityindex
## stream ci
## 1 Oz-1 0.80031860
## 2 Oz-2 0.43942590
## 3 Oz-3 0.47794213
## 4 Oz-4 0.22211357
## 5 Oz-5 0.36120224
## 6 Oz-6 0.22670919
## 7 Oz-7 0.60723513
## 8 Oz-8 0.58160364
## 9 Oz-9 0.50551556
## 10 Oz-10 0.42792611
## 11 Oz-11 0.22066826
## 12 Oz-12 -0.22968587
## 13 Oz-13 0.06873409
## 14 Oz-14 -0.48863791
## 15 Oz-15 -0.43113070
## 16 Oz-16 0.19556217
## 17 Oz-17 -0.57789336
## 18 Oz-18 -0.28882215
## 19 Oz-19 0.42361248
## 20 Oz-20 0.38197549
## 21 Oz-21 -0.58282177
## 22 Oz-22 0.63934650
## 23 Oz-23 0.37156758
## 24 Oz-24 0.23753413
## 25 Oz-25 -0.40902423
## 26 Oz-26 0.27515235
## 27 Oz-27 0.64089924
## 28 Oz-28 0.10912530
## 29 Oz-29 0.14093786
## 30 Oz-30 0.65377335
## 31 Oz-31 0.05056327
## 32 Oz-32 0.41757347
## 33 Oz-33 0.25801707
## 34 Oz-34 0.77126590
## 35 Oz-35 -0.18443650
## 36 Oz-36 0.76977485
## 37 Oz-37 0.31014562
## 38 Oz-38 0.65609570
## 39 Oz-39 0.37802823
## 40 Oz-40 0.46601396
## 41 Oz-41 0.43346019
## 42 Oz-42 0.64847254
## 43 Oz-43 0.46443253
## 44 Oz-44 0.08595970
## 45 Oz-45 -0.02423103
## 46 Oz-46 0.17794075
## 47 Oz-47 0.56646942
## 48 Oz-48 0.25966515
## 49 Oz-49 -0.67514306
## 50 Oz-50 -0.05678856
## 51 Oz-51 0.59860237
## 52 Oz-52 0.61706375
## 53 Oz-53 0.58473805
## 54 Oz-54 -0.09954486
## 55 Oz-55 0.19965632
## 56 Oz-56 0.29273785
## 57 Oz-57 0.58861497
## 58 Oz-58 0.48356589
## 59 Oz-59 0.51566074
## 60 Oz-60 0.06610355
## 61 Oz-61 0.51522672
## 62 Oz-62 0.55575845
## 63 Oz-63 0.55527217
## 64 Oz-64 0.31271522
## 65 Oz-65 0.53208124
## 66 Oz-66 0.63162961
## 67 Oz-67 0.59379220
## 68 Oz-68 0.41421398
## 69 Oz-69 0.80887793
## 70 Oz-70 -0.06229168
## 71 Oz-71 0.35174547
## 72 Oz-72 0.83372609
## 73 Oz-73 -0.28399605
## 74 Oz-74 0.55060709
## 75 Oz-75 0.57845586
## 76 Oz-76 0.30654799
## 77 Oz-77 0.43026887
## 78 Oz-78 0.39777486
## 79 Oz-79 0.47549267
## 80 Oz-80 0.37613668
## 81 Oz-81 0.55582386
## 82 Oz-82 0.38118317
## 83 Oz-83 0.49068102
## 84 Oz-84 0.52627501
## 85 Oz-85 0.20413204
## 86 Oz-86 0.70981550
## 87 Oz-87 0.48979650
## 88 Oz-88 0.48049341
## 89 Oz-89 0.27139638
## 90 Oz-90 0.51604396
## 91 Oz-91 0.30095671
## 92 Oz-92 0.40269429
## 93 Oz-93 0.31689790
## 94 Oz-94 0.43795306
## 95 Oz-95 0.40360885
## 96 Oz-96 0.37616773
## 97 Oz-97 0.15816243
## 98 Oz-98 0.41195309
## 99 Oz-99 0.21242978
## 100 Oz-100 0.61930566
## 101 Oz-101 0.51159617
## 102 Oz-102 0.14828982
## 103 Oz-103 0.44878863
## 104 Oz-104 0.05784377
## 105 Oz-105 0.35478752
ozama_conv_prof$dimensionlessprofiles$layers[[2]]$aes_params$size <- 2
ozama_conv_prof$dimensionlessprofiles$theme$text$size <- 12
ozama_conv_prof$dimensionlessprofiles

Tabla dx/dy, tanto en metros como adimensional. Útiles para construir perfiles por cuenta propia
ozama_conv_prof$lengthzdata %>% tibble::as.tibble()
## Warning: `as.tibble()` is deprecated, use `as_tibble()` (but mind the new semantics).
## This warning is displayed once per session.
## # A tibble: 12,382 x 4
## stream length z rowname
## <fct> <dbl> <dbl> <int>
## 1 Oz-1 0 -0.264 1
## 2 Oz-1 89.1 -0.0745 2
## 3 Oz-1 178. 0.115 3
## 4 Oz-1 267. 0.304 4
## 5 Oz-1 304. 0.383 5
## 6 Oz-1 393. 0.572 6
## 7 Oz-1 430. 0.651 7
## 8 Oz-1 556. 0.918 8
## 9 Oz-1 682. 1.19 9
## 10 Oz-1 772. 1.37 10
## # … with 12,372 more rows
ozama_conv_prof$lengthzdatadmnls %>% tibble::as.tibble()
## # A tibble: 12,382 x 6
## stream length z rowname length.dmnls z.dmnls
## <fct> <dbl> <dbl> <int> <dbl> <dbl>
## 1 Oz-1 0 -0.264 1 0 0
## 2 Oz-1 89.1 -0.0745 2 0.000665 0.000284
## 3 Oz-1 178. 0.115 3 0.00133 0.000568
## 4 Oz-1 267. 0.304 4 0.00199 0.000852
## 5 Oz-1 304. 0.383 5 0.00227 0.000970
## 6 Oz-1 393. 0.572 6 0.00293 0.00125
## 7 Oz-1 430. 0.651 7 0.00321 0.00137
## 8 Oz-1 556. 0.918 8 0.00415 0.00177
## 9 Oz-1 682. 1.19 9 0.00509 0.00217
## 10 Oz-1 772. 1.37 10 0.00575 0.00246
## # … with 12,372 more rows
Limpiar archivo de bloqueo del conjunto de mapas de GRASS
unlink_.gislock()